<?php

namespace app\common\model;

/**
 * 服务队模型
 * Class Article
 * @package app\common\model
 */
class Team extends BaseModel
{
    protected $name = 'team';

    /**
     * 关联服务队封面图
     * @return \think\model\relation\HasOne
     */
    public function image()
    {
        return $this->hasOne('uploadFile', 'file_id', 'image_id');
    }

    /**
     * 关联服务队图片表
     * @return \think\model\relation\HasMany
     */
    public function images()
    {
        return $this->hasMany('TeamImage')->order(['id' => 'asc']);
    }

    /**
     * 关联服务队banner图
     * @return \think\model\relation\HasOne
     */
    public function banner()
    {
        return $this->hasOne('uploadFile', 'file_id', 'banner_id');
    }

    /**
     * 关联服务队banner图
     * @return \think\model\relation\HasOne
     */
    public function header()
    {
        return $this->hasOne('uploadFile', 'file_id', 'header_id');
    }

    /**
     * 关联服务队分类表
     * @return \think\model\relation\BelongsTo
     */
    public function category()
    {
        $module = self::getCalledModule() ?: 'common';
        return $this->BelongsTo("app\\{$module}\\model\\team\\Category");
    }


    /**
     * 文章详情
     * @param $article_id
     * @return null|static
     * @throws \think\exception\DbException
     */
    public static function detail($article_id)
    {
        return self::get($article_id, ['image', 'category','banner','header','images.file']);
    }

}
